#include <stdio.h>

int main(void)
{
	int a, b = 5;

	scanf("%d", &a);

	if (a == 0)
		a = 8;

	return a + b;
}

#if 0

/*
 * intel
 */
0000000000001169 <main>:
    1169:	f3 0f 1e fa          	endbr64 
    116d:	55                   	push   %rbp
    116e:	48 89 e5             	mov    %rsp,%rbp
    1171:	48 83 ec 10          	sub    $0x10,%rsp
    1175:	64 48 8b 04 25 28 00 	mov    %fs:0x28,%rax
    117c:	00 00 
    117e:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
    1182:	31 c0                	xor    %eax,%eax
    1184:	c7 45 f4 05 00 00 00 	movl   $0x5,-0xc(%rbp)	// (rbp-0xc)=5
    118b:	48 8d 45 f0          	lea    -0x10(%rbp),%rax	// rax=(rbp-0x10)
    118f:	48 89 c6             	mov    %rax,%rsi	// rsi=rax
    1192:	48 8d 3d 6b 0e 00 00 	lea    0xe6b(%rip),%rdi        # 2004 <_IO_stdin_used+0x4>
    1199:	b8 00 00 00 00       	mov    $0x0,%eax	// eax=0
    119e:	e8 cd fe ff ff       	callq  1070 <__isoc99_scanf@plt>
    11a3:	8b 45 f0             	mov    -0x10(%rbp),%eax	// eax=(rbp-0x10)
    11a6:	85 c0                	test   %eax,%eax	// eax&eax
    11a8:	75 07                	jne    11b1 <main+0x48>	// !=
    11aa:	c7 45 f0 08 00 00 00 	movl   $0x8,-0x10(%rbp)	// (rbp-0x10)=0x8
    11b1:	8b 55 f0             	mov    -0x10(%rbp),%edx	// edx=(rbp-0x10)
    11b4:	8b 45 f4             	mov    -0xc(%rbp),%eax	// eax=(rbp-0xc)
    11b7:	01 d0                	add    %edx,%eax	// eax+=edx
    11b9:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx	// rcx=(rbp-0x8)
    11bd:	64 48 33 0c 25 28 00 	xor    %fs:0x28,%rcx
    11c4:	00 00 
    11c6:	74 05                	je     11cd <main+0x64>
    11c8:	e8 93 fe ff ff       	callq  1060 <__stack_chk_fail@plt>
    11cd:	c9                   	leaveq 
    11ce:	c3                   	retq   
    11cf:	90                   	nop

/*
 * arm
 */
000000000040056c <main>:
  40056c:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
  400570:	910003fd 	mov	x29, sp
  400574:	528000a0 	mov	w0, #0x5                   	// #5
  400578:	b9001fa0 	str	w0, [x29, #28]		// [x29+28]=5
  40057c:	910063a1 	add	x1, x29, #0x18		// x1=x29+0x18
  400580:	90000000 	adrp	x0, 400000 <_init-0x3f0>
  400584:	9119a000 	add	x0, x0, #0x668		// x0=400668
  400588:	97ffffb6 	bl	400460 <__isoc99_scanf@plt>
  40058c:	b9401ba0 	ldr	w0, [x29, #24]		// w0=[x29+24]
  400590:	7100001f 	cmp	w0, #0x0		// w0-0x0
  400594:	54000061 	b.ne	4005a0 <main+0x34>  // b.any	!=
  400598:	52800100 	mov	w0, #0x8                   	// #8
  40059c:	b9001ba0 	str	w0, [x29, #24]		// [x29+24]=w0
  4005a0:	b9401ba1 	ldr	w1, [x29, #24]		// w1=[x29+24]
  4005a4:	b9401fa0 	ldr	w0, [x29, #28]		// w0=[x29+28]
  4005a8:	0b000020 	add	w0, w1, w0
  4005ac:	a8c27bfd 	ldp	x29, x30, [sp], #32
  4005b0:	d65f03c0 	ret
  4005b4:	00000000 	.inst	0x00000000 ; undefined

#endif
